home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HyperLib 1997 Winter - Disc 1
/
HYPERLIB-1997-Winter-CD1.ISO.7z
/
HYPERLIB-1997-Winter-CD1.ISO
/
オンラインウェア
/
UTIL
/
Msh 1.0.0.sit
/
Msh 1.0.0 f
/
Manual
/
MAN2M.HLP
< prev
next >
Wrap
Text File
|
1996-11-14
|
28KB
|
1,057 lines
/***Intro***/ MemoryManager Memory ResourceManager Resource
Intro(2m)
【名前】
Intro - Toolbox: Memory/Resource(man2m.hlp)
【概要】
【Inside Macintosh】
<<キーワード>>
MemoryManager
Memory Manager
II-7
IV-77
VI-28(Part 3) 一時メモリ, 仮想記憶, 32Bit アドレッシング
Resource Manager ResourceManager
I-101
IV-15
V-29 RGetResource() 追加
VI-13(Part 2) 部分リソースのRead/Write, FSでのファイル操作
リソースの一覧(ResList)
【関連項目】
【ヘッダー】
Types.h
Memory.h
Resources.h
/***Memory***/ Ptr Handle MemoryManager
Memory(2m)
【名前】
Memory - Macintosh Toolbox ルーチン: メモリーマネージャー
【概要】
Mem_Init 初期化処理
Zone ヒープゾーン
Handle 再配置可能なメモリブロックを管理するもの
Ptr 再配置不可能はメモリブロックを示すポインタ
【解説】
■Ptr, Handle
Ptr char *
Handle Ptr *
【ルーチン】
Initialization and Allocation
InitApplZone InitZone MoreMasters
SetApplBase MaxApplZone GetApplLimit
SetApplLimit
Heap Zone Access
GetZone SetZone SystemZone
ApplicZone
Allocationg and Releasing Relocatable Blocks
NewHandle DisposHandle
GetHandleSize SetHandleSize
HandleZone RecoverHandle ReallocHandle
NewEmptyHandle
(NewHandleSys NewHandleClear NewHandleSysCle
NewEmptyHandleSysar)
Allocationg and Releasing Nonrelocatable Blocks
NewPtr DisposPtr GetPtrSize
SetPtrSize PtrZone
(NewPtrSys NewPtrClear NewPtrSysClear)
Freeing Spacw in the Heap
FreeMem MaxMem CompactMem
ResrvMem PurgeMem EmptyHandle
Properties of Relocatable Blocks
HLock HUnlock
HPurge HNoPurge HLockHi
Grow Zone Operation
SetGrowZone GZSaveHnd
その他
BlockMove TopMem MoveHHi
MemError
IV で追加
MaxBlock PurgeSpace StackSpace
(MaxBlockSys)
HSetRBit HClrRBit
HGetState HSetState
【関連項目】
【Inside Macintosh】
Memory Manager
II-7
IV-77
VI-28(Part 3) 一時メモリ, 仮想記憶, 32Bit アドレッシング
#
#
#
/***OSType***/ OSTypePtr ResType ResTypePtr Style ScriptCode LangCode Byte SignedByte Boolean ProcPtr ProcHandle Str255 Str63 Str32 Str31 Str27 Str15 StringPtr StringHandle VHSelect
OSErr(2m)
【名前】
OSErr - 基本のデータタイプ
OSType - data type (unsigned long)
ResType - data type (unsigned long)
Style - data type (unsigned char)
ProcPtr - data type (void *)
Str255 - data type (unsigned char [256])
【形式】
■OSType I-??
OSType ulong
OSTypePtr OSType *
■ResType I-107
ResType ulong
ResTypePtr ResType *
■Boolean,Byte,SignedByte
Boolean uchar
Byte uchar
SignedByte char
■Style I-152
Style uchar
ScriptCode short
LangCode short
■ProcPtr I-78
ProcPtr void *
ProcHandle ProcPtr *
■Str255 I-78
Str255 uchar [256]
Str63 uchar [64]
Str32 uchar [33]
Str31 uchar [32]
Str27 uchar [28]
Str15 uchar [16]
StringPtr uchar *
StringHandle uchar **
■VHSelect I-139
VHSelect uchar
#
#
#
/***InitApplZone***/ InitZone MoreMasters SetApplBase MaxApplZone GetApplLimit SetApplLimit GetZone SetZone SystemZone ApplicZone MaxBlock MaxBlockSys PurgeSpace StackSpace MemoryManager
InitApplZone(2m)
【名前】
InitApplZone - Appl-Heap の初期化
InitZone - 新しいヒープゾーンの作成
SetApplBase - Appl-Heap の先頭を設定
MoreMasters - マスタポインタ用のメモリーブロック確保
MaxApplZone - Appl-Heap ゾーンを最大にする
GetApplLimit - Appl-Heap の上限を設定
SetApplLimit - Appl-Heap の上限を設定
GetZone - Curr-Heap Zone ポインタを取得
SetZone - Curr-Heap Zone の設定
SystemZone - System-Zone の取得
ApplicZone - Appl-Zone の取得
MaxBlock - ヒープを圧縮して得られる空きのサイズを算出
MaxBlockSys -
PurgeSpace - パージによって得られる空間の算出
StackSpace - スタックの空き容量の取得
【書式】
■InitApplZone II-28
■InitZone II-29
■MoreMasters II-31
■SetApplBase II-28
■MaxApplZone II-30; IV-77, 83
■GetApplLimit II-29
■SetApplLimit II-30
■GetZone II-31
■SetZone II-31
■SystemZone II-32
■ApplicZone II-32
■MaxBlock IV-77
■MaxBlockSys ??
■PurgeSpace IV-77
■StackSpace IV-78
void InitApplZone(void);
アプリケーションヒープの初期化
void InitZone(GrowZoneProcPtr pgrowZone, short cmoreMasters,
void *limitPtr, void *startPtr);
新しいヒープゾーンの作成
startPtrに先頭バイト、limitPtrに最終バイト+1を渡します。
pGrowZoneにはグローゾーンポインタを渡します
void MoreMasters(void);
マスタポインタ用のメモリーブロックをあらたに確保します
void SetApplBase(Ptr startPtr);
アプリケーションヒープの先頭をstartPtrにします
void MaxApplZone(void);
アプリケーションヒープゾーンを最大にする
アプリケーションピープを SetApplLimit() で設定したものにする
Ptr GetApplLimit();
void SetApplLimit(Ptr zoneLimit);
アプリケーションピープの上限をzonelimitのアドレスにする
THz GetZone(void);
void SetZone(THz hz);
THz SystemZone(void);
THz ApplicZone(void);
long MaxBlock(void);
long MaxBlockSys(void);
ヒープを圧縮して得られる空きのサイズを算出します
void PurgeSpace(long *total, long *contig);
total 一般的はpurgeによって得られる空間の総量
contig purgeによって得られる最大連続空間
long StackSpace(void);
/***NewHandle***/ DisposHandle GetHandleSize SetHandleSize HandleZone RecoverHandle ReallocHandle NewEmptyHandle NewHandleSys NewHandleClear NewHandleSysClear RecoverHandleSys NewEmptyHandleSys MemoryManager
NewHandle(2m)
【名前】
NewHandle - ハンドルの取得
DisposHandle - ハンドルの解放
GetHandleSize - ハンドルのバイト数を取得
SetHandleSize - ハンドルのリサイズ
HandleZone - ハンドルの属する Zone を取得
RecoverHandle - ポインタが示すメモリ領域の指すハンドルを得る
ReallocHandle - メモリを新たに確保する
NewEmptyHandle - 空のHandleを作成します(ユーザーは通常使わない)
NewHandleClear -
NewHandleSys -
NewHandleSysClear -
RecoverHandleSys -
NewEmptyHandleSys -
【書式】
■NewHandle II-32; I-76, 80
■DisposHandle II-33; I-76, 80
■GetHandleSize II-33
■SetHandleSize II-34
■HandleZone II-34
■RecoverHandle II-35
■ReallocHandle II-35
■NewEmptyHandle IV-78
■NewHandleClear
■NewHandleSys
■NewHandleSysClear
■RecoverHandleSys
Handle NewHandle(Size byteCount);
指定バイトのハンドルを作成する
void DisposHandle(Handle h);
Size GetHandleSize(Handle h);
void SetHandleSize(Handle h, Size newSize);
THz HandleZone(Handle h);
Handle RecoverHandle(Ptr p);
void ReallocHandle(Handle h, Size byteCount);
hにlogicalSize新たに確保する
Handle NewEmptyHandle(void);
Handle NewHandleClear(Size byteCount);
Handle NewHandleSys(Size byteCount);
Handle NewHandleSysClear(Size byteCount);
Handle NewEmptyHandleSys(void);
Handle RecoverHandleSys(Ptr p);
/***NewPtr***/ NewPtrSys NewPtrClear NewPtrSysClear DisposPtr GetPtrSize SetPtrSize PtrZone MemoryManager
NewPtr(2m)
【名前】
NewPtr - ポインタの作成
DisposPtr - ポインタの解放
GetPtrSize - ポインタのバイト数を取得
SetPtrSize - ポインタのリサイズ
PtrZone - ポインタを含むヒープゾーンの取得
NewPtrClear -
NewPtrSys -
NewPtrSysClear -
【書式】
■NewPtr II-36; I-75, 79
■DisposPtr II-36; I-75, 79
■GetPtrSize II-37
■SetPtrSize II-37
■PtrZone II-37
■NewPtrClear
■NewPtrSys
■NewPtrSysClear
Ptr NewPtr(Size byteCount);
void DisposPtr(Ptr p);
Size GetPtrSize(Ptr p);
void SetPtrSize(Ptr p, Size newSize);
THz PtrZone(Ptr p);
Ptr NewPtrClear (Size byteCount);
Ptr NewPtrSys (Size byteCount);
Ptr NewPtrSysClear(Size byteCount);
/***FreeMem***/ MaxMem CompactMem ResrvMem PurgeMem EmptyHandle FreeMemSys MaxMemSys CompactMemSys PurgeMemSys MemoryManager
FreeMem(2m)
【名前】
FreeMem - 現在のヒープの空きの合計を返します
MaxMem - 現在のヒープを圧縮(パージ可能なものをパージ)
CompactMem - 現在のヒープを圧縮(パージ可能なものでもパージしない)
ResrvMem - ゾーンの下位アドレスに指定バイトの空きスペースを生成
PurgeMem - 指定バイト空きができるまでパージを繰り返す
EmptyHandle - ハンドルパージしてnilにします
FreeMemSys -
MaxMemSys -
CompactMemSys -
PurgeMemSys -
【書式】
■FreeMem II-38
■MaxMem II-38
■CompactMem II-39
■ResrvMem II-39
■PurgeMem II-39
■EmptyHandle II-40
■FreeMemSys
■MaxMemSys
■CompactMemSys
■PurgeMemSys
long FreeMem(void);
Size MaxMem(Size *grow);
現在のヒープを圧縮(パージ可能なものをパージ)
Size CompactMem(Size cbNeeded);
現在のヒープを圧縮(パージ可能なものでもパージしない)
void ResrvMem(Size cbNeeded);
void PurgeMem(Size cbNeeded);
void EmptyHandle(Handle h);
hをパージしてnilにします
long FreeMemSys(void);
Size MaxMemSys(Size *grow);
Size CompactMemSys(Size cbNeeded);
void PurgeMemSys(Size cbNeeded);
/***HLock***/ HUnlock HPurge HNoPurge HLockHi HSetRBit HClrRBit HGetState HSetState MemoryManager
HLock(2m)
【名前】
HLock - ハンドルのロック
HUnlock - ハンドルのアンロック
HPurge - ハンドルをパージ可能に
HNoPurge - ハンドルをパージ不可に
HLockHi - ??
HSetRBit - リソースフラグビットをセット
HClrRBit - リソースフラグビットをクリア
HGetState - フラグバイトの取得
HSetState - フラグバイトの設定
【書式】
■HLock II-40
■HUnlock II-41
■HPurge II-41
■HNoPurge II-41
■HLockHi ??
■HSetRBit IV-79
■HClrRBit IV-79
■HGetState IV-80
■HSetState IV-80
void HLock (Handle h);
void HUnlock(Handle h);
void HPurge (Handle h);
void HNoPurge(Handle h);
void HLockHi(Handle h);
void HSetRBit(Handle h);
void HClrRBit(Handle h);
char HGetState(Handle h);
void HSetState(Handle h, char flags);
/***SetGrowZone***/ GZSaveHnd MemoryManager
SetGrowZone(2m)
【名前】
SetGrowZone - カレントヒープのグローゾーン関数の設定
GZSaveHnd -
【書式】
■SetGrowZone II-42
■GZSaveHnd II-43
void SetGrowZone(GrowZoneProcPtr growZone);
pascal long myGrowZone(Size cbNeeded);
の形で、cbNeeded 空けて下さい。少しでも得たときは、0以外の
値を、だめだったら、0を渡してください
Handle GZSaveHnd(void);
/***BlockMove***/ TopMem MoveHHi MemError MemoryManager
BlockMove(2m)
【名前】
BlockMove - メモリ内容のコピー(重なりOK)
TopMem - RAM 最終アドレスの取得
MoveHHi - ハンドルをできるだけ上の方へ動かす
MemError - Memory Manager ルーチンの最後に呼ばれたresult code を返す
【書式】
■BlockMove II-44
■TopMem II-44
■MoveHHi II-44; IV-77, 83
■MemError II-44
void BlockMove(const void *srcPtr, void *destPtr, Size byteCount);
Ptr TopMem(void);
void MoveHHi(Handle h);
OSErr MemError(void);
/***SwapMMUMode***/ GetMMUMode StripAddress Translate24To32 MemoryManager
SwapMMUMode(2m)
【名前】
SwapMMUMode -
GetMMUMode -
StripAddress -
Translate24To32 -
【書式】
■SwapMMUMode V-593 (OS Utilities)
■GetMMUMode V-593 (OS Utilities)
■StripAddress V-593 (OS Utilities), VI-28-16
■Translate24To32 VI-28-16
void SwapMMUMode(char *mode);
char GetMMUMode(void);
false32b = 0 24-bit addressing mode
true32b = 1 32-bit addressing mode
Ptr StripAddress(void *theAddress);
Ptr Translate24To32(void *addr24);
/***HoldMemory***/ UnholdMemory LockMemory LockMemoryContiguous UnlockMemory GetPhysical MemoryBlock LogicalToPhysicalTable MemoryManager
HoldMemory(2m)
【名前】
HoldMemory -
UnholdMemory -
LockMemory -
LockMemoryContiguous -
UnlockMemory -
GetPhysical -
MemoryBlock - data type
LogicalToPhysicalTable - data type
【書式】
■ VI-28-26〜
OSErr HoldMemory(void *address, unsigned long count);
OSErr UnholdMemory(void *address, unsigned long count);
OSErr LockMemory(void *address, unsigned long count);
OSErr LockMemoryContiguous(void *address, unsigned long count);
OSErr UnlockMemory(void *address, unsigned long count);
OSErr GetPhysical(LogicalToPhysicalTable *addresses,
unsigned long *physicalEntryCount);
■MemoryBlock VI-28-21
MemoryBlock
void *address;
unsigned long count;
■LogicalToPhysicalTable VI-28-22
LogicalToPhysicalTable
MemoryBlock logical;
MemoryBlock physical[defaultPhysicalEntryCount];
defaultPhysicalEntryCount = 8
/***DeferUserFn***/ MemoryManager
DeferUserFn(2m)
【名前】
DeferUserFn -
【書式】
■DeferUserFn VI-28-30
OSErr DeferUserFn(ProcPtr userFunction, void *argument);
/***Debugger***/ DebugStr SysBreak SysBreakStr SysBreakFunc MemoryManager
Debugger(2m)
【名前】
Debugger -
DebugStr -
SysBreak -
SysBreakStr -
SysBreakFunc -
【形式】
void Debugger(void);
void DebugStr(ConstStr255Param aStr);
void SysBreak(void);
void SysBreakStr(ConstStr255Param debugStr);
void SysBreakFunc(ConstStr255Param debugFunc);
/***DebuggerGetMax***/ DebuggerEnter DebuggerExit DebuggerPoll GetPageState PageFaultFatal DebuggerLockMemory DebuggerUnlockMemory PageState EnterSupervisorMode StatusRegisterContents MemoryManager
DebuggerGetMax(2m)
【名前】
DebuggerGetMax -
PageFaultFatal -
DebuggerLockMemory -
DebuggerUnlockMemory -
DebuggerEnter -
DebuggerExit -
DebuggerPoll -
GetPageState -
EnterSupervisorMode -
【書式】
■デバッガサポート VI-28-23 〜
■デバッガルーチン VI-28-30 〜
long DebuggerGetMax(void);
Boolean PageFaultFatal(void);
OSErr DebuggerLockMemory(void *address, unsigned long count);
OSErr DebuggerUnlockMemory(void *address, unsigned long count);
void DebuggerEnter(void);
void DebuggerExit(void);
void DebuggerPoll(void);
PageState GetPageState(const void *address);
0 = kPageInMemory RAM内にページがある
1 = kPageOnDisk ディスク上にページがある
2 = kNotPaged アドレスはページングの対象でない
■PageState VI-28-26
PageState short
■EnterSupervisorMode VI-28-25
StatusRegisterContents EnterSupervisorMode(void);
■StatusRegisterContents VI-28-25
StatusRegisterContents short
/***TempFreeMem***/ TempMaxMem TempNewHandle TempHLock TempHUnlock TempDisposeHandle TempTopMem MFMaxMem MFFreeMem MFTopMem MFTempNewHandle MFTempHLock MFTempHUnlock MFTempDisposHandle MemoryManager
TempFreeMem(2m)
【名前】
TempFreeMem -
TempMaxMem -
TempNewHandle -
TempHLock - System6.0 用
TempHUnlock - System6.0 用
TempDisposeHandle - System6.0 用
TempTopMem - Gestalt: gestaltLogicalRamSize で行える
MFMaxMem - System 6.0 の MultiFinder 下での関数
MFFreeMem -
MFTopMem -
MFTempNewHandle -
MFTempHLock -
MFTempHUnlock -
MFTempDisposHandle -
【書式】
■テンポラリメモリの説明 VI-28-33
■VI-28-38
Size TempMaxMem(Size *grow);
long TempFreeMem(void);
Handle TempNewHandle(Size logicalSize, OSErr *resultCode);
■VI-28-39, 37
void TempHLock(Handle h, OSErr *resultCode);
void TempHUnlock(Handle h, OSErr *resultCode);
void TempDisposeHandle(Handle h, OSErr *resultCode);
Ptr TempTopMem(void);
<< System 6.0 での互換関数 >>
MFMaxMem → TempMaxMem
MFFreeMem → TempFreeMem
MFTopMem → TempTopMem
MFTempNewHandle → TempNewHandle
MFTempHLock → TempHLock
MFTempHUnlock → TempHUnlock
MFTempDisposHandle → TempDisposeHandle
/***Size***/ Zone THz MemoryManager
Size(2m)
【名前】
Size - data type
Zone - data type(ゾーン)
【形式】
■Size II-18
Size long
■Zone II-22
Zone
Ptr bkLim;
Ptr purgePtr;
Ptr hFstFree;
long zcbFree;
GrowZoneProcPtr gzProc;
short moreMast;
short flags;
short cntRel;
short maxRel;
short cntNRel;
short maxNRel;
short cntEmpty;
short cntHandles;
long minCBFree;
ProcPtr purgeProc;
Ptr sparePtr;
Ptr allocPtr;
short heapData;
THz Zone *
#
#
#
/***InitResources***/ ResError RsrcZoneInit CurResFile ResourceManager
InitResources(2m)
【名前】
InitResources - リソースマネージャの初期化
ResError - 直前に実行されたエラーコードの取得
RsrcZoneInit - 前のアプリケーションの使用していたリソースを全てクリア
CurResFile - カレントリソースファイル参照番号の取得
【書式】
■InitResources I-114
■ResError I-116
■RsrcZoneInit I-114
■CurResFile I-116
short InitResources(void);
リソースマネージャの初期化
このルーチンはシステムから起動時に自動的に呼び出されるので、
アプリケーションから呼び出さなくてもよい
short ResError(void);
void RsrcZoneInit(void);
short CurResFile(void);
カレントリソースファイルの参照番号を返します
/***CreateResFile***/ OpenResFile OpenRFPerm UseResFile CloseResFile GetResFileAttrs SetResFileAttrs SetResLoad HOpenResFile HCreateResFile FSpOpenResFile FSpCreateResFile ResourceManager
CreateResFile(2m)
【名前】
CreateResFile - リソースファイルの作成
HCreateResFile -
FSpCreateResFile -
OpenResFile - リソースファイルのオープン
OpenRFPerm -
HOpenResFile -
FSpOpenResFile -
CloseResFile - リソースファイルのクローズ
UseResFile - カレントリソースファイルの変更
GetResFileAttrs - リソースファイルの属性取得
SetResFileAttrs - リソースファイルの属性設定
SetResLoad -
【書式】
■CreateResFile I-114
■OpenResFile I-115
■OpenRFPerm IV-17
■CloseResFile I-115
■UseResFile I-117
■GetResFileAttrs I-127
■SetResFileAttrs I-127
■SetResLoad I-118
■HOpenResFile
■HCreateResFile
■FspOpenResFile
■FspCreateResFile
void CreateResFile(ConstStr255Param fileName);
void HCreateResFile(short vRefNum, long dirID,
ConstStr255Param fileName);
void FSpCreateResFile(const FSSpec *spec, OSType creator,
OSType fileType, ScriptCode scriptTag);
リソースファイルの作成
short OpenResFile (ConstStr255Param fileName);
short OpenRFPerm (ConstStr255Param fileName, short vRefNum,
char permission);
short HOpenResFile(short vRefNum, long dirID,
ConstStr255Param fileName, char permission);
short FSpOpenResFile(const FSSpec *spec, SignedByte permission);
戻り値: ファイル参照番号
permission: ファイルの書き込み、読みだし状態
void CloseResFile(short refNum);
リソースファイルのクローズ
void UseResFile(short refNum);
カレントリソースを指定参照番号のファイルに設定します
short GetResFileAttrs(short refNum);
void SetResFileAttrs(short refNum, short attrs);
void SetResLoad(Boolean load);
loadがTRUEなら、まだ読み込まれていないリソースを改めて
読み込む
/***CountTypes***/ Count1Types GetIndType Get1IndType CountResources Count1Resources GetIndResource Get1IndResource GetResource Get1Resource GetNamedResource Get1NamedResource UniqueID Unique1ID RGetResource ResourceManager
CountTypes(2m)
【名前】
GetResource - リソースの読込み
Get1Resource - リソースの読込み(先頭ファイル)
RGetResource - リソースの読込み(ROM)
GetNamedResource - リソースの読込み(名前)
Get1NamedResource - リソースの読込み(名前,先頭ファイル)
GetIndResource - リソースの読込み(index)
Get1IndResource - リソースの読込み(index,先頭ファイル)
CountTypes - リソースタイプ数の取得
Count1Types - リソースタイプ数の取得(先頭ファイル)
GetIndType - 指定番号のリソースタイプの取得
Get1IndType - 指定番号のリソースタイプの取得(先頭ファイル)
CountResources - 指定タイプのリソース数の取得
Count1Resources - 指定タイプのリソース数の取得(先頭ファイル)
UniqueID - リソースの空いているIDの取得
Unique1ID - リソースの空いているIDの取得(先頭ファイル)
【書式】
■GetResource I-119
■Get1Resource IV-16
■RGetResource V-30
■GetNamedResource I-119
■Get1NamedResource IV-15
■GetIndResource I-118
■Get1IndResource IV-15
■CountTypes I-117
■Count1Types IV-15
■GetIndType I-117
■Get1IndType IV-15
■CountResources I-118
■Count1Resources IV-15
■UniqueID I-121
■Unique1ID IV-16
関数名に "1" が付いたものは、リソースチェインの先頭(通常最後に開いた
リソースファイル)のみを対象とした関数です。
Handle GetResource(ResType theType, short theID);
Handle Get1Resource(ResType theType, short theID);
Handle RGetResource(ResType theType, short theID);
指定のリソースタイプ,IDのリソースを読込む
Handle GetNamedResource(ResType theType, ConstStr255Param name);
Handle Get1NamedResource(ResType theType, ConstStr255Param name);
Handle GetIndResource(ResType theType, short index);
Handle Get1IndResource(ResType theType, short index);
指定リソースタイプの index 番目のリソースを得ます
short CountTypes(void);
short Count1Types(void);
リソースファイルに含まれるタイプ数のを返します
void GetIndType(ResType *theType, short index);
void Get1IndType(ResType *theType, short index);
リソースタイプの数までの数indexを渡すと、対応するリソ
ースタイプが返されます
short CountResources(ResType theType);
short Count1Resources(ResType theType);
指定リソースタイプのリソース数を返します
short UniqueID(ResType theType);
short Unique1ID(ResType theType);
/***LoadResource***/ ReleaseResource DetachResource ResourceManager
LoadResource(2m)
【名前】
LoadResource - リソースの読込み
ReleaseResource - リソースのメモリからの解放
DetachResource -
【書式】
■LoadResource I-119
■ReleaseResource I-120
■DetachResource I-120
void LoadResource(Handle theResource);
void ReleaseResource(Handle theResource);
void DetachResource(Handle theResource);
/***GetResAttrs***/ GetResInfo SetResInfo AddResource SizeResource HomeResFile MaxSizeRsrc RsrcMapEntry SetResourceSize ResourceManager
GetResAttrs(2m)
【名前】
GetResAttrs - リソース属性の取得
GetResInfo - リソースType,ID,Nameの取得
SetResInfo - リソースID,Nameの設定
AddResource - リソースをリソースファイルに加えます
SizeResource - リソースサイズの取得
HomeResFile - リソースのあるファイルの参照番号の取得
MaxSizeRsrc - リソース最大サイズの取得
RsrcMapEntry -
SetResourceSize -
【書式】
■GetResAttrs I-121
■GetResInfo I-121
■SetResInfo I-122
■AddResource I-124
■SizeResource I-121
■HomeResFile I-117
■MaxSizeRsrc IV-16
■RsrcMapEntry IV-16
■SetResourceSize ??
short GetResAttrs(Handle theResource);
###
void GetResInfo(Handle theResource, short *theID, ResType *theType,
Str255 name);
void SetResInfo(Handle theResource, short theID,
ConstStr255Param name);
void AddResource(Handle theResource, ResType theType, short theID,
ConstStr255Param name);
theDataと言うデータを持つリソースをリソースファイルに加えます
long SizeResource(Handle theResource);
short HomeResFile(Handle theResource);
long MaxSizeRsrc(Handle theResource);
long RsrcMapEntry(Handle theResource);
void SetResourceSize(Handle theResource, long newSize);
/***SetResAttrs***/ ChangedResource RmveResource UpdateResFile WriteResource SetResPurge ReadPartialResource WritePartialResource ResourceManager
SetResAttrs(2m)
【名前】
SetResAttrs - 属性の変更
ChangedResource -
RmveResource - カレントリソースファイルから外します
UpdateResFile - リソースファイルを変更します
WriteResource - ディスクに書き出す
SetResPurge -
ReadPartialResource -
WritePartialResource -
【書式】
■SetResAttrs I-122
■ChangedResource I-123
■RmveResource I-124
■UpdateResFile I-125
■WriteResource I-125
■SetResPurge I-126
■ReadPartialResource
■WritePartialResource
void SetResAttrs(Handle theResource, short attrs);
void ChangedResource(Handle theResource);
void RmveResource(Handle theResource);
void UpdateResFile(short refNum);
refNumの参照番号を持つリソースファイルを変更します
void WriteResource(Handle theResource);
リソース属性が正しくセットされているならディスクに
書き出す
void SetResPurge(Boolean install);
installがTRUEならリソースがパージされるときチェックが
行なわれる
void ReadPartialResource(Handle theResource, long offset,
void *buffer, long count);
void WritePartialResource(Handle theResource, long offset,
const void *buffer, long count);
/***ResList***/ Res ResourceManager
ResList(2m)
【名前】
ResList - リソースの一覧
【解説】
全リソースの一覧 VI-13-4(Part2)
Type System IM 意味
-------+-------+---------------+---------------------------------------
'actb' V-278 Alert ボックスカラーテーブル
'ADBS' V-371 Apple Desktop Bus のサービスルーチン
'alis' Alias レコード
'ALRT' V-278 Alert ボックステンプレート
'BNDL' V-327 バンドル
'CACH' OS RAMキャッシュコード
'card' ビデオカード名
'cctb' V-221 Control カラーテーブル
'CDEF' V-221 Control 定義関数
'cdev' V-327, 329
'cicn' V-65, 78, 80 カラー ICON
'clut' V-78, 81 カラー LUT
'CNTL' Control テンプレート
'CODE' コードセグメント
'crsr' V-63, 78 カラーカーソル
'CURS' I-476 カーソル
'dctb' V-278 Dialog カラーテーブル
'ddev' DataBase エクステンション
'dPro'
'DITL' cdev V-327
'DITL' V-278 Dialog/Alert のアイテムリスト
'DLOG' V-278 Dialog テンプレート
'DRVR' デスクアクセサリまたはその他のドライバ
'DSAT' OS システムスタートアップアラートテーブル
'eadr' Ethernet のハードウエアアドレス
'FCMT' OS "Get Info" コメント
'fctb' V-184 フォントカラーテーブル
'FKEY' Command+Shift+<数字>キーの組み合わせ
'FMTR' OS 3.5" ディスクのフォーマット用コード
'FOBJ' OS MFSボリューム用のフォルダ情報
'FOND' V-181, 185 フォントファミリレコード
'FONT' V-181 ビットマップフォント
'FREF' cdev V-327 ファイルリファレンス
'FRSV' OS システムフォントID
'hdlg' Help Dialog/Alert用
'hfdr' Help アプリケーションのアイコン用
'hmnu' Help アプリケーションのメニュー用
'hovr' Help Finderのヘルプをオーバーライドする
'hrct' Help Window の領域用
'hwin' Help 特定のウインドウと 'hrct' & 'hdlg'
との結合
'icl4' ICON 32x32 4bits
'icl8' ICON 32x32 8bits
'ICN#' cdev V-327 ICON 32x32 B&W
'ICN#' cdev I-476 ICON 32x32 B&W
'ICON' I-476 モノクロ ICON
'ics#' ICON 16x16 B&W
'ics4' ICON 16x16 4bits
'ics8' ICON 16x16 8bits
'ictb' V-278 Dialog カラーテーブルダイアログアイテム
'INIT' 31 V-352 システムエクステンション
'INTL' 0 V-288 インターナショナルリソース(Sys7で廃止)
'INTL' 1 V-288
'INTL' 2 V-288
'itl0' V-288 日付時刻フォーマット
'itl1' V-288 曜日および月の名称
'itl2' V-288 International Utilities Package の
ソートフック
'itl4' ローカライズできるテーブルおよびコード
'itlb' V-288
'itlc' V-288
'itlk' 'KCHR'に対応して, KeyTrans() が呼び出さ
れる前に, 特定のキーの組み合わせを再定
義する
'KCAP' 物理的なキーボード定義
(Key Capsデスクアクセサリが使用)
'KCHR' V-190 (ソフト的な)キーボードレイアウト
仮想キーコードをキャラクタにマッピング
する
'kcs#' 'KCHR' 16x16 B&W アイコン
'kcs4' 'KCHR' 16x16 4bit アイコン
'kcs8' 'KCHR' 16x16 8bit アイコン
'KMAP' OS V-190 (ハードウエア的な)キーボードマッピング
ローキーコードを仮想キーコードにマップ
'KSWP' OS Script Manager の操作のための特別なキー
の組み合わせの定義
'mach' cdev V-327, 328
'LDEF' リスト定義手続き
'MBAR' I-365 Menu バー
'MBDF' OS V-250 デフォルトのメニュー定義手続き
'mctb' V-234 Menu カラー情報テーブル
'MDEF's V-248 Menu 定義手続き
'MENU' I-364 Menu
'MMAP' OS マウストラッキングコード
'mntr' Monitors コントロールパネル
'NBPC' OS AppleTalk のバンドル
'NFNT' V-181, 183 ビットマップフォント
'nrct' cdev V-327
'nrct' V-329
'PACK' パッケージ
'PAT ' I-476 パターン
'PAT#' I-476 パターンリスト
'PDEF' OS プリント用コード
'PICT' I-476 PICT ピクチャ
'pltt' V-152 カラーパレット
'POST' PostScript リソース
'ppat' V-78, 79 ピクセルパターン
'PREC' プリントレコード
'PTCH' OS ROM パッチコード
'ROv#' OS オーバーライドするためのコード
'ROvr' OS オーバーライドするためのコード(ROM用)
'qdef' クィアリ定義関数
'qrsc' クィアリリソース
'SERD' OS RAM Serial Driver
'SICN' ICON スモール
'SIZE' アプリケーションのパーティションサイズ
'STR ' I-476 文字列
'STR#' I-476 文字列リスト
'scrn' V-127
'sect' セクションレコード
'sfnt' アウトラインフォント
'snd ' V-476, 490 サウンド
'snth' V-476, 495 シンセサイザまたはモディファイア
'styl'
'sysz' SystemExtension が要求するシステム
ヒープスペース
'TEXT'
'vers' バージョン番号
'wctb' V-201, 204 Window カラーテーブル
'WDEF' Window 定義関数
'WIND' Window テンプレート
'wstr' 文字列(文字列長をワードで表現)
リソースID
-32768 〜 -16385 予約済み
-16384 〜 -4065 他のシステムリソースに従属するシステムリソース
-4064 〜 -4033 コントロールパネルが使用するための予約
(V-323 "Control Panels" 参照)
-4032 〜 -1 他のシステムリソースに従属するシステムリソース
('SIZE' は例外に ID=-1)
0 〜 127 システムソフトウエア中のシステムリソースおよび
定義手続き
128 〜 32767 アプリケーション用